(レポート) MBL205: AWS IoTについて知りたいこと #reinvent
本日発表された新サービス、AWS IoT のセッション "MBL205 - NEW LAUNCH! Everything You Want to Know About AWS IoT" に参加しました。キーノートで新サービスが発表されると、このような紹介系のセッションが大部屋で開催されるようです。
この発表は 200 番台ということで、ディープダイブした内容でなく、AWS IoT を構成する各コンポーネントをサラッと解説し、その応用として WIFI デバイス AWS IoT Button の LED を好きな色で点滅させるというデモが行われました。
この Button は IoT 系セッションの終了時に配布され、弊社佐々木が秒速の速さで体験デモをブログにまとめております。
AWS IoT ButtonでAWS IoTを体験してみた! #reinvent | Developers.IO
それでは、セッションのまとめに戻ります。
AWS IoT 誕生の背景
今後より多くのモノがインターネットにつながることが予測されており、モノを活かした魅力的な製品を展開するには、現状にとどまらず、常に製品をアップデートしなければいけません。
このような背景の中 “Securely connect one or one-billion devices to AWS, so they can interact with applications and other devices” というモチベーションで AWS IoT が産まれました。
AWS IoT の全体図
下図が AWS IoT の全体図です。
各コンポーネントを順に解説します。
AWS IoT Device Gateway
メッセージキューで言うところの Pub/Sub に対応したブローカーです。 メッセージのプロデューサーとコンシューマーの間を取り持ちます。 EC2 インスタンス上に独自に立てるのではなく、RDS などと同じく AWS のマネージドサービスです。
メッセージ送信で対応しているプロトコルは
- HTTP
- MQTT
の2つ。Device Gateway はプロトコルに依存しないことを売りにしており、WebSocket など別のプロトコルにも順次対応していくそうです。
モノとの通信は X.509 と TSL で担保しています。
AWS IoT Rules Engine
ルールを記述すると他の AWS のマネージドサービスにデータ連携します。 ルールは開発者が慣れ親しんでいる SQL で記述します。
AWS のデータ連携先からは
- 更に他の AWS マネージドサービス
- 外部のエンドポイント
と連携することも出来ます。
AWS IoT Thing Shadow
モノを状態を管理し、理想の状態に収束させます。
例えばLEDランプをアプリケーションから操作することを考えましょう。
- アプリケーションは光らせたい(Desired)色を Thing Shadow に伝えます。
- モノは Thing Shadow に今の色を Thing Shadow に伝えます(Reported)。
- Thing Shadow は理想(Desired)と現実(Reported)の違いをモノに伝えます。
- モノは違いを元に状態を修正し、理想の状態に収束します。
会場では実際にこのデモが行われました。
遠くからでは色の違いがわかりにくかったですが、IoT らしくその場で動くデモを見せており、受けが非常に良かったです。